From ad4ec84a08c386da8ff1a05cc6ece5ab34278e69 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 11 Jun 1993 04:16:13 +0000 Subject: [PATCH] (Fdescribe_vector): Use current buf, not standard-output. (describe_vector_princ): Add newline at end. (store_in_keymap, access_keymap): Use CHAR_META when clearing excess high bits. --- src/keymap.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/keymap.c b/src/keymap.c index 44179806ada..6d0f9e5c058 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -275,7 +275,7 @@ access_keymap (map, idx, t_ok) else if (INTEGERP (idx)) /* Clobber the high bits that can be present on a machine with more than 24 bits of integer. */ - XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1); + XFASTINT (idx) = XINT (idx) & (CHAR_META | (CHAR_META - 1)); { Lisp_Object tail; @@ -375,7 +375,7 @@ store_in_keymap (keymap, idx, def) else if (INTEGERP (idx)) /* Clobber the high bits that can be present on a machine with more than 24 bits of integer. */ - XFASTINT (idx) = XINT (idx) & ((1 << 24) - 1); + XFASTINT (idx) = XINT (idx) & (CHAR_META | (CHAR_META - 1)); /* Scan the keymap for a binding of idx. */ { @@ -1861,16 +1861,22 @@ describe_vector_princ (elt) Lisp_Object elt; { Fprinc (elt, Qnil); + Fterpri (Qnil); } DEFUN ("describe-vector", Fdescribe_vector, Sdescribe_vector, 1, 1, 0, - "Print on `standard-output' a description of contents of VECTOR.\n\ + "Insert a description of contents of VECTOR.\n\ This is text showing the elements of vector matched against indices.") (vector) Lisp_Object vector; { + int count = specpdl_ptr - specpdl; + + specbind (Qstandard_output, Fcurrent_buffer ()); CHECK_VECTOR (vector, 0); describe_vector (vector, Qnil, describe_vector_princ, 0, Qnil); + + return unbind_to (count, Qnil); } describe_vector (vector, elt_prefix, elt_describer, partial, shadow) -- 2.30.2